//
//  BukaRpcDefinition.h
//  BukaSDKFoundation
//
//  Created by 曹飞 on 2018/2/27.
//  Copyright © 2018年 tv.buka. All rights reserved.
//

#pragma mark - RPC 信令定义请勿改动

//激光笔通过pkg通道传输  type为4034
static int const RPC_PENLASER       = 4034;
//rpc消息号100  获取用户自己的配置项
static int const RPC_GET_CONFIG        = 100;
//rpc消息号101  获取用户再房间内的消息
static int const RPC_GET_ROOM_CONFIG       = 101;

// 游客请求发言
static int const RPC_REQUEST_SPEAK        = 1004;
// 房主邀请游客发言
static int const RPC_START_SPEAK          = 1005;
// 房主停止游客发言 ,游客端也可以停止发布，然后通知房主端
static int const RPC_STOP_SPEAK           = 1006;
// 新的邀请上台
static int const RPC_NEW_START_SPEAK          = 1040;
// 新的下台
static int const RPC_NEW_STOP_SPEAK          = 1041;
//学生上台失败，发送失败消息
static int const RPC_START_SPEAK_ERROR          = 1009;




// 游客不同意发言
static int const RPC_DISAGREE_SPEAK       = 1009;
// 用于通知游客，可以正常进行举手等操作。当房主同意游客发言的时候，所有游客都不能进行举手等操作，直到同意的游客发言成功或者发言失败。
static int const RPC_SPEAK_NORMAL         = 1010;
// 游客取消请求发言
static int const RPC_CANCELRQUEST_SPEAK   = 1011;
// 房主同意游客的发言
static int const RPC_AGREE_SPEAK          = 1012;
// 房主播放游客视频成功，通知游客 （没用到）
static int const RPC_TEACHER_PLAY         = 1013;
// 播放房主的声音，用于游客发言时
static int const RPC_TEACHER_AUDIO        = 1014;
//踢人
static int const RPC_Teacher_Kick    = 1015;
//禁止所有人发言
static int const RPC_Teacher_AllBan  = 1016;

//禁止所有人音频
static int const RPC_Teacher_AudioAllBan  = 4029;

//禁止某人发言
static int const RPC_Teacher_OneBan  = 1017;
//用户主动退出房间通知大家
static int const RPC_USER_OUT    = 1020;
//通知学生取消共享白板 老师通知学生关闭 推流的第二路视频，兼容PC的这个功能，移动端本身没有
static int const RPC_CANCEL_Share       = 1025; //暂时不可用
//学生反馈共享白板结果 老师接收
static int const RPC_SHARE_Result       = 1026; //暂时不可用

static int const RPC_PPT_URL         = 4001 ;
static int const RPC_PPT_ITEM        = 4002 ;

// 切换头像和ppt 1 是放大 0 是缩回去
static int const RPC_VIDEO_OUT       = 4014;
// 奖励 "count": 2,"userId": "16764"
static int const RPC_REWARD         = 4015;
// 授权画笔 userId enabled 1 ，2
static int const RPC_EABLE_PEN      = 4016;
//是否停止mic输入
static int const RPC_EABLE_MIC      = 4017;
//发给发4023的人发送自己的音频状态，如果是老师，并且开启了全体静音，那还会关闭那个人的音频发送
static int const RPC_REPORT_TOOL_STATE = 4018;
//问房间内所有人的声音状态
static int const RPC_REQUEST_TOOL_STATE = 4023;

//新H5投票答题
static int const RPC_ANSWER_DATA_H5 = 4026;
//新H5关闭答题
static int const RPC_ANSWER_CLOSE_H5 = 4027;

//新H5骰子
static int const RPC_SIEVE_DATA_H5 = 4033;



//台上举手
static int const RPC_ON_STAGE_SPEAK = 4024;

//文档视图移动同步
static int const RPC_FILE_MOVE = 4031;
//头像视频移动同步
static int const RPC_VIDEO_MOVE = 4020;

/*
 投票答题请求    //是    Json。voteCount投票问答id，topic标题，
 topicNum选项个数，A：到E:的key，value为选项的详细解释，
 发布投票答题是先请求room/add/test.do接口获取id，然后在发送rpc
 */

static int const RPC_Teacher_Vote_RQ     = 1028;

/*
 投票答题应答    //是    Json。voteCount投票id，选项的答案，从A:到E：，
 如果选择传“1”，没选中传“0”    请求room/add/test/result.do添加答案，
 indexs字段传入选中的index，从0开始
 */
static int const RPC_Teacher_Vote_RS     = 1029;

/*
 点名请求    //是    Json，id为点名id    请求/room/add/rollcall.do，
 传入当时在线人数
 */
static int const RPC_Teacher_Call_RQ     = 1030;

/*
 点名应答    //是    Json，sessionId发起点名者的sessionid
 请求/room/add/rollcall/result.do添加点名结果，flag_true，1代表已经应答，0代表没有应答
 */
static int const RPC_Student_Call_RS     = 1031;
//获取ppt相关信息
static int const RPC_HTML_GET_INFO    = 4013;
//httpppt信令 但打开h5ppt的时候，需要发送和接收处理
static int const RPC_HTML_PPT_URL     = 4003;
//ppt动作
static int const RPC_HTML_PPT_ACTION = 4010;
//开始倒计时
static int const RPC_COUNTDOWN_START = 4011;
//停止倒计时
static int const RPC_COUNTDOWN_END = 4012;

//老师准备抽奖
static int const RPC_TEACHER_LOTTER_SHOW = 1035;
//老师发起抽奖
static int const RPC_TEACHER_LOTTER_RQ = 1036;
//老师关闭抽奖
static int const RPC_TEACHER_LOTTER_CLOSE = 1037;

//答题版小黑板
static int const RPC_BLACK_BOARD = 4019;


/**
 老师发起抽奖回调类型
 */
typedef NS_ENUM(NSInteger,BKTeacherLotterType) {
    BKTeacherLotterTypeShow,    //老师准备抽奖
    BKTeacherLotterTypeRQ,      //老师发起抽奖
    BKTeacherLotterTypeClose    //老师关闭抽奖
};

